跳到主要内容

02 ✨新建工程

up的视频讲解

从选择芯片开始,走通配置、生成、编辑、编译和下载的完整流程。

1 在 CubeMX 中选择芯片​

打开 File → New Project,搜索课程使用的 STM32F103C8T6。确认型号后进入工程配置界面。

新建项目。
新建项目。
确认芯片型号后进入配置。
确认芯片型号后进入配置。

界面左侧按功能列出外设,右侧显示引脚。配置一个外设时,既要选择其工作方式,也要确认它使用哪些引脚。

把左侧的外设配置与右侧的引脚状态对应起来。
把左侧的外设配置与右侧的引脚状态对应起来。

2 配置下载接口和时钟​

保留串行调试接口​

按图选择串行调试接口,使 ST-Link 能通过 SWD 与芯片通信。

配置 Serial Wire 调试接口。
配置 Serial Wire 调试接口。

选择板上的外部晶体​

课程开发板使用外部晶体。在 RCC 中选择相应的 HSE 晶体模式;后面的 RCC 课程会解释来源、倍频和分频。

使配置与开发板上的时钟电路对应。
使配置与开发板上的时钟电路对应。

3 生成 MDK 工程​

在 Project Manager 中填写工程名称、保存位置,并把 IDE 选择为 MDK。使用容易辨认的英文路径,方便后续查找工程与生成文件。

设置工程信息与目标 IDE。
设置工程信息与目标 IDE。

在代码生成选项中,只复制所需库文件,并按课程设置为每个外设生成独立的 .c、.h 文件。

让外设代码按文件组织,便于定位。
让外设代码按文件组织,便于定位。

点击生成代码,再打开生成的工程。

完成生成后进入 MDK。
完成生成后进入 MDK。
工程分组主要内容
Application / MDK-ARM启动文件
Application / User / Core用户程序与初始化代码
Drivers / STM32F1xx_HAL_Driver外设驱动库
Drivers / CMSIS内核与设备基础支持

4 找到自己写代码的位置​

打开 main.c,找到 main()。课程先关注其中两部分:前面的初始化执行一次,后面的 while (1) 不断循环。

初始化与主循环承担不同的工作。
初始化与主循环承担不同的工作。

CubeMX 使用 USER CODE BEGIN 与 USER CODE END 注释划分用户代码区。把自己的代码写在相应区间,重新生成时才能按照工程设置保留。

先认清用户区的起止位置,再添加实验代码。
先认清用户区的起止位置,再添加实验代码。

5 编译并下载到开发板​

先选择工程使用的编译器,再执行编译。在输出窗口确认没有编译错误后,继续配置下载器。

选择课程工程使用的编译器。
选择课程工程使用的编译器。
查看编译输出,区分编译完成与下载完成。
查看编译输出,区分编译完成与下载完成。

在 Debug 中选择 ST-Link,连接开发板后执行下载。

选择 ST-Link 调试与下载接口。
选择 ST-Link 调试与下载接口。
执行下载,并查看工具给出的结果。
执行下载,并查看工具给出的结果。

编译把源代码转换为可执行程序,下载把程序写入芯片。下一节会通过 LED 的实际变化,确认程序已经运行。